Skip to content

test(desktop): scope slash menu refresh observer - #3739

Merged
M4n5ter merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/slash-command-menu-refresh-flake
Aug 25, 2026
Merged

test(desktop): scope slash menu refresh observer#3739
M4n5ter merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/slash-command-menu-refresh-flake

Conversation

@liuxiaocs7

Copy link
Copy Markdown
Member

Summary

Scope the slash-command menu refresh regression watcher to the open menu and the original listbox and Skills group nodes. Wait for each session's real invocable-skills projection request before checking that those nodes remain connected, avoiding unrelated overlay removals and fixed timing delays.

Fixes #3727

Verification

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex implemented the test synchronization and observer scoping changes, added the E2E-only preload signal, and assisted with verification.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@Astro-Han

Copy link
Copy Markdown
Contributor

Thanks for the thorough fix! We chose to merge #3737 for this issue — it achieves the same correction (narrowing the observer to close the over-broad window) with zero production surface (1 file, no preload changes), which is minimal for a test-only flake. Your approach with a deterministic waitForInvocableSkillsCall is causally stronger, but we preferred to avoid expanding the preload test seam for this flake. Appreciate the effort — closing as superseded by #3737.

Limit the regression watcher to the open slash popover and the three projection refresh calls. Wait on each session Skill projection request before asserting that the original listbox and Skills group remain connected.

Fixes apache#3727

Generated-by: OpenAI Codex
@M4n5ter
M4n5ter force-pushed the fix/slash-command-menu-refresh-flake branch from 389da5a to 7e99237 Compare August 25, 2026 10:29

@M4n5ter M4n5ter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

English

I reviewed exact head 7e99237294856c8e1dcbdc1c10ac703966716efc and found no P0–P3 issues.

This keeps the regression test and replaces timing-based observation with causal synchronization: the test first drains the seed Turn/catalog work, then waits for each invocable-skills projection request before asserting that the original menu, listbox, and Skills-group nodes remain connected.

I verified the guard is meaningful by temporarily restoring the old skills: [] transition; the test failed and recorded the Skills group being removed. With this head restored, the target passed 20/20 stress runs, and the complete Desktop E2E suite passed with 65 tests and 1 expected skip. The exact-head hosted test check also completed successfully.

There are no unresolved review threads or stale approvals. Current main has no changed-path overlap with this PR, and the merge tree is clean.

简体中文

我审查了精确提交 7e99237294856c8e1dcbdc1c10ac703966716efc,没有发现 P0–P3 问题。

该修复保留了回归测试,并用因果同步替代基于时间的观察:测试会先排空种子 Turn/catalog 工作,再逐轮等待 invocable-skills 投影请求完成,然后断言原始 menu、listbox 与 Skills group 节点仍保持连接。

我临时恢复了旧的 skills: [] 过渡来验证守卫价值;测试会失败并记录 Skills group 被移除。恢复当前提交后,目标压力测试 20/20 通过,完整 Desktop E2E 为 65 项通过、1 项按预期跳过。精确提交的 Hosted test 也已成功完成。

当前没有未解决的 review thread 或过期 approval。最新 main 与该 PR 没有变更路径重叠,merge tree 干净。

@M4n5ter
M4n5ter merged commit 8572aa2 into apache:main Aug 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flaky test: slash-command-menu "keeps its container and skills group across projection refreshes"

3 participants